<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="app"></div>
</body>
<script>
    // 所有的vue实例都可以使用的方法 
    // Vue.prototype.$mount
    // Vue.prototype.$forceUpdate
    // Vue.prototype.$set
    // Vue.prototype.$destroy
    
    // Vue.prototype.$on
    // Vue.prototype.$once
    // Vue.prototype.$off
    // Vue.prototype.$emit

    var vm = new Vue({
        el:"#app",
        data:{},
        mounted() {
            
        },
    });

    // vue中自定义事件
    var a,b,c;
    vm.$on("abc",a = function(arg){
        console.log("自定义事件abc被触发了:1",arg);
    })

    vm.$on("abc",b = function(arg){
        console.log("自定义事件abc被触发了:2",arg);
    })

    vm.$once("abc",c = function(arg){
        console.log("自定义事件abc被触发了:3",arg);
    })

    // vm.$emit("abc",10);
    // vm.$emit("abc",20);

    // vm.$off("abc",a);  // 对应函数清除
    // vm.$off("abc",b);
    // vm.$off("abc",c);
    
    // vm.$off("abc");  // 对应事件类型清除 

    vm.$off(); // 清除实例所有
    vm.$emit("abc",10);

    console.log(vm);

</script>
</html>